package org.moonlight.jvm.classfile.attribute.mark;

import org.moonlight.jvm.classfile.ClassReader;
import org.moonlight.jvm.classfile.attribute.AttributeInfo;

/**
 * 标记型属性 - 仅起标记作用，不包含任何数据.
 *
 * Deprecated 和 Synthetic 是最简单的两种属性，仅起标记作用，不包含任何数据。
 * 这两种标记可以出现在 ClassFile、field_info 和 method_info 中。它们的结构定义如下：
 *   Deprecated_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;        //由于这两个属性都没有信息，所以其 attribute_length 都为 0；
 *   }
 *
 *   Synthetic_attribute {
 *     u2 attribute_name_index;
 *     u4 attribute_length;
 *   }
 *
 * @author Moonlight
 * @createTime 2023/8/15 16:04
 **/
public class MarkerAttribute implements AttributeInfo {
    @Override
    public void readInfo(ClassReader reader) {
        // 由于标记型属性不包含任何数据，所以这里什么都不用做
    }
}
